import logging
from logging import handlers


def loggethander(name='logger', path='/var/log/iharbor_sync_client/client_info.log'):
    # 创建一个日志器，就是一个logger对象
    logger = logging.getLogger(name)

    # 设置logger输入级别
    logger.setLevel(logging.DEBUG)

    # 创建日志格式器
    formator = logging.Formatter(fmt="%(asctime)s [ %(filename)s ]  %(lineno)d行 | [ %(levelname)s ] | [%(message)s]",
                                 datefmt="%Y/%m/%d/%X")

    # 创建一个输出的处理器，让它输入到控制台
    # sh = logging.StreamHandler()

    # 1.创建一个把日志信息存储到文件中的处理器
    # 要加编码，不然后可能会乱码
    fh = logging.FileHandler(path)

    # 把输出处理器添加到日志器中
    # logger.addHandler(sh)

    # 给处理器添加格式器
    # sh.setFormatter(formator)

    # 2.把文件处理器，加载到logger中
    logger.addHandler(fh)

    # 3.给文件处理器添加格式器
    fh.setFormatter(formator)

    return logger


logger = logging.getLogger('django.request')  # 这里的日志记录器要和setting中的loggers选项对应，不能随意给参
logger2 = loggethander()  #
logger3 = loggethander(name='inotify_wroker', path='/var/log/iharbor_sync_client/client_inotify.log')  #